import * as React from 'react';
import {
Card,
View,
Image,
Badge,
Button,
Flex,
Divider,
Heading,
Collection,
FlexContainerStyleProps,
} from '@aws-amplify/ui-react';
import { Demo } from '@/components/Demo';
import { demoState } from '@/utils/demoState';
import { CollectionPropControls } from './CollectionPropControls';
import { useCollectionProps } from './useCollectionProps';
import {
filterDemoProps,
getDemoProps,
objectEntriesToPropString,
} from '../utils/demoProps';
const propsToCode = (props) => {
const filteredProps = filterDemoProps(props);
return `
const items = [
{
title: 'Milford - Room #1',
badges: ['Waterfront', 'Verified'],
},
{
title: 'Milford - Room #2',
badges: ['Mountain', 'Verified'],
},
];
{(item, index) => (
{item.badges.map((badge) => (
{badge}
))}
{item.title}
)}
`;
};
const defaultValues = {
direction: 'row',
gap: '20px',
wrap: 'nowrap',
};
export const CollectionDemo = () => {
const collectionProps = useCollectionProps(
demoState.get(Collection.displayName) || defaultValues
);
const demoProps = ['alignContent', 'alignItems', 'direction', 'gap', 'wrap'];
const collectionDemoProps = getDemoProps(collectionProps, demoProps);
const items = [
{
title: 'Milford - Room #1',
badges: ['Waterfront', 'Verified'],
},
{
title: 'Milford - Room #2',
badges: ['Mountain', 'Verified'],
},
];
return (
}
>
{(item, index) => (
{item.badges.map((badge) => (
{badge}
))}
{item.title}
)}
);
};